1. Field of the Invention
The present invention relates to a numerical control device used in motor control, robot control, and the like, and specifically relates to a numerical control device having improved servo control performance.
2. Description of Related Art
Numerical control devices are used in computer numerical control (CNC) for controlling machine tools. Robot controllers, which control a motor in a robot, have a configuration similar to the numerical control devices for the CNC. A numerical control device according to the present invention is not limited to a numerical control device for the CNC, but includes a robot controller.
To manufacture the numerical control devices, a main controller for overall control, a programmable logic controller (PLC) having a sequence function to control the input and output of signals to and from a machine, a servo controller to input and output signals to and from a servomotor through a servo interface, and a digital signal processor (DSP) for performing arithmetic processing on a servo control signal are connected to the other components of the device at data input-output (I/O) interfaces, user interfaces, peripheral device interfaces, and the like through a parallel data bus (hereinafter sometimes abbreviated by bus), to establish communications among the components. Since the bus is large in wiring size and bus interfaces (bus bridges) for inputting and outputting signals between each component and the bus are also large in size, the numerical control device conventionally has one parallel bus system.
The numerical control devices must have a configuration that sufficiently meets required specifications, with consideration of costs. At this time, it is desirable to consider improvement in the performance of the components to be used, a change in a delivery system of the components, and the like. To manufacture the numerical control devices, a general-purpose processor (CPU) and DSP are commonly used to form the main controller and the PLC. On the other hand, reducing the number of the components is effective at reducing the costs, and therefore the components other than the CPU and the DSP, i.e., the servo controller and the other circuits are integrated into a single integrated circuit (IC). Such an IC is referred to as an application specific integrated circuit (ASIC). When the components other than the CPU and the DSP are integrated into the ASIC in the above configuration having the bus, the CPU, the DSP, and the ASIC are connected to the bus, and the bus is included in the ASIC. Furthermore, multicore CPUs and serial interfaces have been developed. The main controller and the PLC can be easily configured in one multicore CPU. In the configuration having the CPU and the ASIC, when a high speed serial interface such as PCI Express™ or the like substitutes for the bus, communications between the CPU and the ASIC are performed through the serial interface, while communications in the ASIC are performed through the bus.
It is important for communications in the numerical control device to secure communication performance between the main controller (in the CPU) and the servo controller (in the ASIC). The communication performance exerts an influence on the performance of an object to be controlled such as a machine or a robot.
As a technique associated with an increase in the speed and performance of a numerical control device, the following proposals are described (for example, Japanese Unexamined Patent Publication (Kokai) No. 2003-316408 (hereinafter called “patent document 1”) and Japanese Unexamined Patent Publication (Kokai) No. 2013-054730 (hereinafter called “patent document 2”)). The patent document 1 discloses an example in which one CPU processes low volume data that has direct effect on the processing speed, I/O among components of a machine tool, and the like, while another CPU processes high volume data that has no direct effect on the processing speed. The former is driven by an operating system that has a low data processing capacity and a high processing speed, while the latter is driven by an operating system that has a high data processing capacity and a low processing speed. Such a configuration allows for controlling the machine tool at a high speed and with high performance (for example, refer to paragraph [0017] and FIG. 3). Also, the relationship between a data processing capacity and a processing time, relative to the contents of processed data, is described (for example, refer to paragraph [0016] and FIG. 2).
The patent document 1 also discloses that a second CPU reads and processes data stored in an information sharing unit at a high speed, and generates a control signal from the processed data to control a servomotor (refer to paragraph [0026]).
The patent document 2 describes an example of a configuration in which a multicore DSP constitutes a motor control processor in a motor controller, and is connected to a motor control amplifier through a high speed serial communication interface (refer to paragraphs to [0018] and FIG. 1). A multicore CPU has the functions of numerical control, motor control, and PLC, and connected to a bus bridge, which also has the function of communication control, through a high speed serial communication interface.
However, the above conventional art cannot prevent performance degradation owing to communications through the bus. For example, in the numerical control device, data associated with servo control among the servo controller, the CPU, and the DSP is transferred at certain intervals. Input-output (I/O) data is also transferred at certain intervals. The transfers are required to be processed within a predetermined time period from the occurrence. A device connected to a peripheral, which inputs and outputs external signals, has to read and monitor data associated with a state of the peripheral at certain intervals. Furthermore, program data read from a storage device and an interrupt signal from the device connected to the peripheral to the CPU have to be transferred not at certain intervals but within a predetermined time period.
To design the numerical control device, the amount of communication (transfer) traffic of data other than servo control data and I/O data is predicted, and the amount of communication traffic of the servo control data and the I/O data is determined while maintaining a certain amount of margin. As a result of maintaining a certain amount of margin, it is difficult to increase the communication traffic of the servo control data and the I/O data to its limit. To improve the performance of an object controlled by the numerical control device, the communication traffic of the servo control data and the I/O data must be increased but cannot for this reason. Also, since the circuit design becomes difficult, the communication traffic is reduced while performance degradation is partially allowed.